#ifndef F28P65X_ICL_XBAR_H
#define F28P65X_ICL_XBAR_H

#ifdef __cplusplus
extern "C" {
#endif

//---------------------------------------------------------------------------
// ICL_XBAR Individual Register Bit Definitions:

struct ICLINPUTSELECTLOCK_BITS
{                            // bits description
    Uint32 ICL1SELECT  : 1;  // 0 Lock bit for ICL1SELECT Register
    Uint32 ICL2SELECT  : 1;  // 1 Lock bit for ICL2SELECT Register
    Uint32 ICL3SELECT  : 1;  // 2 Lock bit for ICL3SELECT Register
    Uint32 ICL4SELECT  : 1;  // 3 Lock bit for ICL4SELECT Register
    Uint32 ICL5SELECT  : 1;  // 4 Lock bit for ICL5SELECT Register
    Uint32 ICL6SELECT  : 1;  // 5 Lock bit for ICL6SELECT Register
    Uint32 ICL7SELECT  : 1;  // 6 Lock bit for ICL7SELECT Register
    Uint32 ICL8SELECT  : 1;  // 7 Lock bit for ICL8SELECT Register
    Uint32 ICL9SELECT  : 1;  // 8 Lock bit for ICL9SELECT Register
    Uint32 ICL10SELECT : 1;  // 9 Lock bit for ICL10SELECT Register
    Uint32 ICL11SELECT : 1;  // 10 Lock bit for ICL11SELECT Register
    Uint32 ICL12SELECT : 1;  // 11 Lock bit for ICL12SELECT Register
    Uint32 ICL13SELECT : 1;  // 12 Lock bit for ICL13SELECT Register
    Uint32 ICL14SELECT : 1;  // 13 Lock bit for ICL14SELECT Register
    Uint32 ICL15SELECT : 1;  // 14 Lock bit for ICL15SELECT Register
    Uint32 ICL16SELECT : 1;  // 15 Lock bit for ICL16SELECT Register
    Uint32 rsvd1       : 16; // 31:16 Reserved
};

union ICLINPUTSELECTLOCK_REG
{
    Uint32 all;
    struct ICLINPUTSELECTLOCK_BITS bit;
};

struct ICL_XBAR_REGS
{
    Uint32 ICL1SELECT;                               // ICL1SELECT Input Select Register
    Uint32 ICL2SELECT;                               // ICL2SELECT Input Select Register
    Uint32 ICL3SELECT;                               // ICL3SELECT Input Select Register
    Uint32 ICL4SELECT;                               // ICL4SELECT Input Select Register
    Uint32 ICL5SELECT;                               // ICL5SELECT Input Select Register
    Uint32 ICL6SELECT;                               // ICL6SELECT Input Select Register
    Uint32 ICL7SELECT;                               // ICL7SELECT Input Select Register
    Uint32 ICL8SELECT;                               // ICL8SELECT Input Select Register
    Uint32 ICL9SELECT;                               // ICL9SELECT Input Select Register
    Uint32 ICL10SELECT;                              // ICL10SELECT Input Select Register
    Uint32 ICL11SELECT;                              // ICL11SELECT Input Select Register
    Uint32 ICL12SELECT;                              // ICL12SELECT Input Select Register
    Uint32 ICL13SELECT;                              // ICL13SELECT Input Select Register
    Uint32 ICL14SELECT;                              // ICL14SELECT Input Select Register
    Uint32 ICL15SELECT;                              // ICL15SELECT Input Select Register
    Uint32 ICL16SELECT;                              // ICL16SELECT Input Select Register
    Uint32 rsvd1[14];                                // Reserved
    union ICLINPUTSELECTLOCK_REG ICLINPUTSELECTLOCK; // Input Select Lock Register
};

//---------------------------------------------------------------------------
// ICL_XBAR External References & Function Declarations:
//
#ifdef __CORE0__
extern volatile struct ICL_XBAR_REGS IclXbarRegs;
#endif
#ifdef __cplusplus
}
#endif /* extern "C" */

#endif

//===========================================================================
// End of file.
//===========================================================================
